﻿using System;
using System.Collections.Generic;
using System.Text;

namespace T.FAS.Runtime.Metadata.Entity.Page
{
    public class FasMenu : AbsMetaDataContent
    {
        /// <summary>
        /// 主键
        /// </summary>
        public string ID
        {
            get
            {
                return base.MetaDataID;
            }
            set
            {
                base.MetaDataID = value;
            }
        }

        /// <summary>
        /// 编号
        /// </summary>
        public string Code
        {
            get
            {
                return base.MetaDataCode;
            }
            set
            {
                base.MetaDataCode = value;
            }
        }


        /// <summary>
        /// 名称
        /// </summary>
        public string Name
        {
            get
            {
                return base.MetaDataName;
            }
            set
            {
                base.MetaDataName = value;
            }
        }

        /// <summary>
        /// 描述
        /// </summary>
        public string Description { get; set; }

        public string PageId { get; set; }
        /// <summary>
        /// 是否禁用
        /// </summary>
        public bool Disabled { get; set; }
        /// <summary>
        /// Page所属分支ID
        /// </summary>
        public string PageProjectID { get; set; }
        public string PageBranchID { get; set; }
        /// <summary>
        /// Page元数据
        /// </summary>
        public PageMetaData PageMetaData { get; set; }
        public string PageBranchName { get; set; }

        public string Url { get; set; }


        /// <summary>
        /// 删除标记,0未删除，1已删除
        /// </summary>
        public int IsDeleted { get; set; }


        /// <summary>
        /// 菜单所属功能组的ID
        /// </summary>
        public string ParentID { get; set; }


        /// <summary>
        ///  关键应用ID
        /// </summary>
        public string ApplicationID { get; set; }
        /// <summary>
        /// 开发应用
        /// </summary>
        public string ApplicationShortName { get; set; }
        /// <summary>
        /// 关键应用
        /// </summary>
        public string KeyApplicationName { get; set; }

        /// <summary>
        /// 模块ID
        /// 注意：当菜单同步为功能明细的时候，ModuleID是功能的ParentID。
        /// </summary>
        public string ModuleID { get; set; }

        public string DepartmentID { get; set; }

        public int SortCode { get; set; } = 1;

        public virtual string CreatorUserName { get; set; }
        public virtual string LastModifierUserName { get; set; }
        /// <summary>
        /// 翻译好的词条内容，仅发布用的字段
        /// </summary>
        public Dictionary<string, List<Dictionary<string, string>>> TranslatedTerms { get; set; }
        /// <summary>
        /// 菜单图标、图像
        /// </summary>
        public string MenuImage { get; set; }
        public List<Dictionary<string, string>> MenuUrlParams { get; set; }

        public override object Clone()
        {
            return this;
        }
    }
}
